package arithmetic;

/**
 * 删除排序数组中的重复项
 * 一个有序数组 nums ，原地删除重复出现的元素，使每个元素只出现一次 ，返回删除后数组的新长
 * 度。不要使用额外的数组空间，必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
 */
public class SortedArrayDuplicates {

    public static void main(String[] args) {
        System.out.println(removeDuplicates(new int[]{0,1,2,2,3,3,4}));
    }

    /**
     * 双指针算法
     * @param ints
     * @return
     */
    private static int removeDuplicates(int[] ints) {
        int i =0;
        for(int j=i+1;j<ints.length;j++){
            if(ints[i]!=ints[j]){
                i++;
                ints[i] = ints[j];
            }
        }
        return i+1;
    }
}
